package com.gkzf.ai.module.crm.controller.admin.simpleCredit.vo;

import com.gkzf.ai.module.crm.framework.annotations.JsonKey;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;

/**
 * 逾期信用卡账户信息
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OverdueCreditCardAccount implements CreditCardAccount{
    /**
     * 开立日期（格式：yyyy-MM-dd）
     */
    @JsonKey(value = "开立日期")
    private String openingDate;

    /**
     * 发卡机构名称
     */
    @JsonKey(value = "机构名称")
    private String institutionName;

    /**
     * 账户币种（如：CNY、USD）
     */
    @JsonKey(value = "账户币种")
    private String accountCurrency;

    /**
     * 卡片尾号（最后四位）
     */
    @JsonKey(value = "卡片尾号")
    private String cardTail;

    /**
     * 信用额度
     */
    @JsonKey(value = "信用额度")
    private BigDecimal creditLimit;

    /**
     * 当前余额
     */
    @JsonKey(value = "余额")
    private BigDecimal balance;

    /**
     * 当前是否逾期（"是"/"否" 或布尔值字符串）
     */
    @JsonKey(value = "当前是否逾期")
    private String currentOverdue;

    /**
     * 近五年内总逾期月份数
     */
    @JsonKey(value = "五年内总逾期月份数")
    private String totalOverdueMonthsFiveYears;

    /**
     * 是否存在90天以上逾期（"是"/"否" 或布尔值字符串）
     */
    @JsonKey(value = "是否有90天以上逾期")
    private String over90DaysOverdue;

    /**
     * 账户状态（如：正常、冻结、销户等）
     */
    @JsonKey(value = "账户状态")
    private String accountStatus;

    @Override
    public String accountStatus() {
        return accountStatus;
    }

    @Override
    public String businessType() {
        return "";
    }
    @Override
    public String institutionName() {
        return "";
    }

    @Override
    public String hasOverdue90dPlus() {
        return over90DaysOverdue;
    }

    @Override
    public String getOpenDate() {
        return openingDate;
    }
}